package client;

import java.net.*;

public class Main {
    static public String SERVER = "myflower.cz";
    static public int PORT = 5222;
    static public Socket socket = new Socket();

    public static void main(String[] args) {

        Signal test = new Signal("Zprava:\nKomu:myflower@myflower.cz\nText:\"Nazdar parchante, jak se vede?\"\r\n");
        System.out.println("Příkaz: " + convByteArrayToString(test.prikazByte()));
        System.exit(1);
        InetSocketAddress address = new InetSocketAddress(SERVER, PORT);

        try {
            System.out.println("Přihlašuji se na server....");
            socket.connect(address);
            if(socket.isConnected())
                System.out.println(" Úspěšně připojeno na server " + SERVER + ":" + PORT);
            else {
                System.out.println("Nepodařilo se připojit k serveru " + SERVER + ":" + PORT + "!");
                System.exit(-1);
            }

            System.out.println("\nVložte příkaz k odeslání:");

            /*GUI gui = new GUI();
            gui.init();*/

            Thread cteni = new JabberThread(socket.getInputStream(), System.out);
            Thread zapis = new JabberThread(System.in, socket.getOutputStream());

            zapis.setDaemon(true);

            cteni.start();
            zapis.start();

            ((JabberThread)cteni).test();


            cteni.join();
            System.out.println("\nOdpojuji se od serveru...");
            socket.shutdownInput();
            socket.shutdownOutput();
            socket.close();
            if(socket.isClosed())
                System.out.println(" Spojení bylo úspěšně uzavřeno.");
        }
        catch(Exception e) {
            System.out.println("Chyba 1: " + e + "\n");
                System.exit(-1);
        }
    }

    public static byte[] convStrToByteArray(String str) {
        byte[] array = str.getBytes();
        return array;
    }

    public static String convByteArrayToString(byte[] b) {
        String vystup = "";
        for (int i = 0; i < b.length; i++) {
            if(b[i] == 00) break;
            vystup = vystup + new String(new byte[] {b[i]});
        }
        return vystup;
    }

}

/*

<stream:stream xmlns:stream="http://etherx.jabber.org/streams" version="1.0" xmlns="jabber:client" to="myflower.cz" xml:lang="cs" xmlns:xml="http://www.w3.org/XML/1998/namespace" >

<iq type='set' id='prihlaseni001'>
  <query xmlns='jabber:iq:auth'>
    <username>fel</username>
    <password>123456</password>
    <resource>JaJa</resource>
  </query>
</iq>

<message type="chat" to="myflower@myflower.cz" id="myId001" >
<body>Testovaci zprava z MyJabber klienta...</body>
</message>
 *
 */